#include <stdio.h>
/*
 author: maxiao
 date: 2023-04-06 00:45
 description: 被调函数运行完成后，其内存空间会被清理，不能使用指针访问
*/

int* test()
{
    // 使用auto动态变量，内存空间会在函数调用完成后被清理
    auto int a = 100;
    // 使用静态变量保存
    //static int a = 100;
    // 打印变量a的内存空间地址
    printf("被调函数中变量的地址：%p\n", &a);
    return &a;
}

int main()
{
    // 通过返回值获取变量a的内存地址
    int* b = test();
    // 打印函数返回的地址
    printf("主调函数中变量的地址：%p\n", b);
    if ( b != NULL )
        printf("值-->%d\n", *b);
    else
        printf("指针变量b为空！\n");
    return 0;
}
